/**
 * Methoden zur Benutzereingabe
 * 
 * @author Torbjoern K.
 */

import java.io.*;
import java.util.ResourceBundle;

public class input {
    // definieren einer Abkuerzung fuer Internationalisierung
    private static final ResourceBundle internationalize = java.util.ResourceBundle.getBundle("internationalize");
    
     /**
     * Wartet auf Eingabe von der Kommandozeile,
     * liefert einen Wert vom Grundtyp int.
     * @return int
     */
    public static int readInt() {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String line = "";
        System.out.flush();
        try {
            line = reader.readLine();
        }
        catch (Exception e) {
            System.out.println(internationalize.getString("ErrorOccures") + e);
        }
        try {
            return (new Integer(line)).intValue();
        }
        catch (Exception e) {
            System.out.println(internationalize.getString("ErrorOccures") + e);
            return 0;
        }
    }
    
    /**
     * Fuellt einen Array mit Werten
     * @param array
     * @return int[]
     */
    public static int[] inputArray(int[] array) {
        for(int i = 0; i <= array.length-1; i++) {
            System.out.print(internationalize.getString("EnterValue") + ": ");
            array[i] = input.readInt();
        }
        return array;
    }

    /**
     * Fuellt eine nXm-Matrix mit Werten
     * @param n
     * @param m
     * @return int[n][m]
     */
    public static int[][] inputMatrix(int n, int m) {
        int[][] matrix = new int[n][m];
        for(int i = 0; i < n; i++) {
            for(int j = 0; j < m; j++) {
                System.out.print(internationalize.getString("ValueOf") + " [" + (i+1) + "][" + (j+1) + "] " + internationalize.getString("Enter") + ": ");
                matrix[i][j] = input.readInt();
            }
        }
        return matrix;
    }
    
    /**
     * Laenge einer Zahl ermitteln
     * @param zahl
     * @return int
     */
    public static int getIntLength(int zahl) {
        int rest = zahl, n = 0;
        while(rest > 0) {
            zahl = rest % 10;
            rest = rest / 10;
            n++;
        }
        n--;
        return n;
    }
    
    /**
     * Zahl ziffernweise in einen Array parsen
     * @param zahl
     * @param n
     * @return int[n]
     */
    public static int[] parseIntoArray(int zahl, int n) {
        int rest = zahl, backup = zahl;
        int[] ziffern = new int[0];

        ziffern = new int[n+1];
        rest = backup;
        for(int i = n; i >= 0; i--) {
            ziffern[i] = rest % 10;
            rest = rest / 10;
        }
        return ziffern;
    }
}
